#include <iostream>
#include <stack>
#include <queue>

int main()
{
    std::stack<int> s;
    std::queue<int> q;
/* 约瑟夫环：13个人活下来是13号，31个人活下来是1号 */
    for(int i = 0; i < 13; i++) //插入13个人
    {
        q.push(i + 1);
    }

    int count = 0;              //计数器
    while(q.size() > 1)         //最后只留一个人
    {
        int temp = q.front();
        q.pop();
        count++;
        if(count == 3)          //遇三出局
        {
            std::cout<<temp<<"出局!\n";
            count = 0;
        }
        else
        {
            q.push(temp);       //插入队尾，环形计数
        }
    }
    std::cout<<q.front()<<"活了下来!"<<std::endl;

    return 0;
}